package com.abcdefg.springaopdemo.aspect;

import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;

//@Slf4j
//@Aspect
//@Component
//public class AspectDemo1 {
//    @Around("execution(* com.abcdefg.springaopdemo.controller.*.*(..))")
//    public Object recordTime(ProceedingJoinPoint pjp) throws Throwable {
//        log.info("AspectDemo1：目标方法执行前...");
//        Object result = pjp.proceed();
//        log.info("目标方法执行后...");
//        return result;
//    }
//    @After("execution(* com.abcdefg.springaopdemo.controller.*.*(..))")
//    public void doAfter(){
//        log.info("AspectDemo1：执行 After 方法");
//    }
//
//    @Before("execution(* com.abcdefg.springaopdemo.controller.*.*(..))")
//    public void doBefore(){
//        log.info("AspectDemo1：执行 Before 方法");
//    }
//    @AfterReturning("execution(* com.abcdefg.springaopdemo.controller.*.*(..))")
//    public void doAfterReturning(){
//        log.info("AspectDemo1：执行 AfterReturning 方法");
//    }
//    @AfterThrowing("execution(* com.abcdefg.springaopdemo.controller.*.*(..))")
//    public void AfterThrowing(){
//        log.info("AspectDemo1：执行 AfterThrowing 方法");
//    }
//
//}
